package com.tjec.project.projectWorkbench.domain;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.tjec.framework.aspectj.lang.annotation.Excel;
import com.tjec.project.system.domain.SysDictData;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.tjec.framework.web.domain.BaseEntity;

import java.util.List;

/**
 * 工程类别、关键字、指标项关联关系 对象 bms_md_engineering_keyword_indicator_ref
 * 
 * @author cjj
 * @date 2020-05-14
 */
public class BmsMdEngineeringKeywordIndicatorRef
{
    private static final long serialVersionUID = 1L;

    /** 工程类别ID */
    @ApiModelProperty(value = "工程类别ID")
    private String engineeringId;

    /** 业绩推荐关键字ID */
    @ApiModelProperty(value = "业绩推荐关键字ID")
    private String performanceKeywordId;

    /** 项目指标ID */
    @ApiModelProperty(value = "项目指标ID")
    private String indicatorId;

    /** 项目指标名称 */
    @ApiModelProperty(value = "项目指标名称")
    private String indicatorName;

    /** 项目指标值 */
    @ApiModelProperty(value = "项目指标值")
    private String indicatorValue;

    @ApiModelProperty(value = "是否选中")
    private boolean selected;

    @ApiModelProperty(value = "是否必填（0选填，1必填）")
    private boolean isRequired;

    @ApiModelProperty(value = "项目指标关联对象(0=工程类别，1=关键字)")
    @JsonIgnore
    private Integer relatedObject;

    /** 字段单位（0=数字，1=单行文本，2=下拉框） */
    @ApiModelProperty(value = "字段单位（0=数字，1=单行文本，2=下拉框）")
    private Integer fieldUnit;

    @ApiModelProperty(value = "当字段单位为2，取对应数据字典值")
    private List<SysDictData> dictDatas;

    @ApiModelProperty(value = "工程类别ID,用户传参")
    private String[] engineeringIds;

    @ApiModelProperty(value = "业绩推荐关键字ID,用户传参")
    private String[] performanceKeywordIds;

    public String[] getEngineeringIds() {
        return engineeringIds;
    }

    public void setEngineeringIds(String[] engineeringIds) {
        this.engineeringIds = engineeringIds;
    }

    public String[] getPerformanceKeywordIds() {
        return performanceKeywordIds;
    }

    public void setPerformanceKeywordIds(String[] performanceKeywordIds) {
        this.performanceKeywordIds = performanceKeywordIds;
    }

    public List<SysDictData> getDictDatas() {
        return dictDatas;
    }

    public void setDictDatas(List<SysDictData> dictDatas) {
        this.dictDatas = dictDatas;
    }

    public boolean isRequired() {
        return isRequired;
    }

    public void setRequired(boolean required) {
        isRequired = required;
    }

    public Integer getFieldUnit() {
        return fieldUnit;
    }

    public void setFieldUnit(Integer fieldUnit) {
        this.fieldUnit = fieldUnit;
    }

    public boolean getIsRequired() {
        return isRequired;
    }

    public void setIsRequired(boolean required) {
        isRequired = required;
    }

    public Integer getRelatedObject() {
        return relatedObject;
    }

    public void setRelatedObject(Integer relatedObject) {
        this.relatedObject = relatedObject;
    }

    public String getIndicatorValue() {
        return indicatorValue;
    }

    public void setIndicatorValue(String indicatorValue) {
        this.indicatorValue = indicatorValue;
    }

    public boolean isSelected() {
        return selected;
    }

    public void setSelected(boolean selected) {
        this.selected = selected;
    }

    public String getIndicatorName() {
        return indicatorName;
    }

    public void setIndicatorName(String indicatorName) {
        this.indicatorName = indicatorName;
    }

    public void setEngineeringId(String engineeringId)
    {
        this.engineeringId = engineeringId;
    }

    public String getEngineeringId() 
    {
        return engineeringId;
    }
    public void setPerformanceKeywordId(String performanceKeywordId) 
    {
        this.performanceKeywordId = performanceKeywordId;
    }

    public String getPerformanceKeywordId() 
    {
        return performanceKeywordId;
    }
    public void setIndicatorId(String indicatorId) 
    {
        this.indicatorId = indicatorId;
    }

    public String getIndicatorId() 
    {
        return indicatorId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("engineeringId", getEngineeringId())
            .append("performanceKeywordId", getPerformanceKeywordId())
            .append("indicatorId", getIndicatorId())
            .toString();
    }
}
